package com.starry.module.system.core.oauth2.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.starry.db.core.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 第三方客户端-实体
 * @author xiaoke
 */
@EqualsAndHashCode(callSuper = true)
@Schema(description = "第三方客户端实体")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("oauth2_third_client")
public class Oauth2ThirdClient extends BaseEntity {

    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 客户端编码
     */
    private String code;

    /**
     * logo
     */
    @Schema(description = "logo")
    private String logo;
    /**
     * 客户端名称
     */
    @Schema(description = "客户端名称")
    private String name;
    /**
     * 客户端Id
     */
    @Schema(description = "客户端Id")
    private String clientId;
    /**
     * 客户端密钥
     */
    @Schema(description = "客户端密钥")
    private String clientSecret;
    /**
     * PC端回调地址
     */
    @Schema(description = "PC端回调地址")
    private String pcRedirectUrl;
    /**
     * PC端回调地址
     */
    @Schema(description = "APP端回调地址")
    private String appRedirectUrl;
    /**
     * scope
     */
    @Schema(description = "scope")
    private String scope;
    /**
     * 获取用户信息的地址
     */
    @Schema(description = "获取用户信息的地址")
    private String userInfoUri;
    /**
     * 获取token地址
     */
    @Schema(description = "获取token地址")
    private String tokenUri;
    /**
     * 发起授权申请的地址
     */
    @Schema(description = "发起授权申请的地址")
    private String authorizationUri;
    /**
     * 是否启用
     */
    @Schema(description = "是否启用")
    private Integer status;

}

